# -*- coding: utf-8 -*-
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
from google.cloud.datastream_v1 import gapic_version as package_version

__version__ = package_version.__version__


from .services.datastream import DatastreamAsyncClient, DatastreamClient
from .types.datastream import (
    CreateConnectionProfileRequest,
    CreatePrivateConnectionRequest,
    CreateRouteRequest,
    CreateStreamRequest,
    DeleteConnectionProfileRequest,
    DeletePrivateConnectionRequest,
    DeleteRouteRequest,
    DeleteStreamRequest,
    DiscoverConnectionProfileRequest,
    DiscoverConnectionProfileResponse,
    FetchStaticIpsRequest,
    FetchStaticIpsResponse,
    GetConnectionProfileRequest,
    GetPrivateConnectionRequest,
    GetRouteRequest,
    GetStreamObjectRequest,
    GetStreamRequest,
    ListConnectionProfilesRequest,
    ListConnectionProfilesResponse,
    ListPrivateConnectionsRequest,
    ListPrivateConnectionsResponse,
    ListRoutesRequest,
    ListRoutesResponse,
    ListStreamObjectsRequest,
    ListStreamObjectsResponse,
    ListStreamsRequest,
    ListStreamsResponse,
    LookupStreamObjectRequest,
    OperationMetadata,
    RunStreamRequest,
    StartBackfillJobRequest,
    StartBackfillJobResponse,
    StopBackfillJobRequest,
    StopBackfillJobResponse,
    UpdateConnectionProfileRequest,
    UpdateStreamRequest,
)
from .types.datastream_resources import (
    AvroFileFormat,
    BackfillJob,
    BigQueryDestinationConfig,
    BigQueryProfile,
    CdcStrategy,
    ConnectionProfile,
    DestinationConfig,
    Error,
    ForwardSshTunnelConnectivity,
    GcsDestinationConfig,
    GcsProfile,
    HostAddress,
    JsonFileFormat,
    MongodbCluster,
    MongodbCollection,
    MongodbDatabase,
    MongodbField,
    MongodbProfile,
    MongodbSourceConfig,
    MongodbSslConfig,
    MysqlColumn,
    MysqlDatabase,
    MysqlGtidPosition,
    MysqlLogPosition,
    MysqlProfile,
    MysqlRdbms,
    MysqlSourceConfig,
    MysqlSslConfig,
    MysqlTable,
    OracleAsmConfig,
    OracleColumn,
    OracleProfile,
    OracleRdbms,
    OracleSchema,
    OracleScnPosition,
    OracleSourceConfig,
    OracleSslConfig,
    OracleTable,
    PostgresqlColumn,
    PostgresqlProfile,
    PostgresqlRdbms,
    PostgresqlSchema,
    PostgresqlSourceConfig,
    PostgresqlSslConfig,
    PostgresqlTable,
    PrivateConnection,
    PrivateConnectivity,
    PscInterfaceConfig,
    Route,
    SalesforceField,
    SalesforceObject,
    SalesforceOrg,
    SalesforceProfile,
    SalesforceSourceConfig,
    SourceConfig,
    SourceObjectIdentifier,
    SqlServerChangeTables,
    SqlServerColumn,
    SqlServerLsnPosition,
    SqlServerProfile,
    SqlServerRdbms,
    SqlServerSchema,
    SqlServerSourceConfig,
    SqlServerTable,
    SqlServerTransactionLogs,
    SrvConnectionFormat,
    StandardConnectionFormat,
    StaticServiceIpConnectivity,
    Stream,
    StreamObject,
    Validation,
    ValidationMessage,
    ValidationResult,
    VpcPeeringConfig,
)

__all__ = (
    "DatastreamAsyncClient",
    "AvroFileFormat",
    "BackfillJob",
    "BigQueryDestinationConfig",
    "BigQueryProfile",
    "CdcStrategy",
    "ConnectionProfile",
    "CreateConnectionProfileRequest",
    "CreatePrivateConnectionRequest",
    "CreateRouteRequest",
    "CreateStreamRequest",
    "DatastreamClient",
    "DeleteConnectionProfileRequest",
    "DeletePrivateConnectionRequest",
    "DeleteRouteRequest",
    "DeleteStreamRequest",
    "DestinationConfig",
    "DiscoverConnectionProfileRequest",
    "DiscoverConnectionProfileResponse",
    "Error",
    "FetchStaticIpsRequest",
    "FetchStaticIpsResponse",
    "ForwardSshTunnelConnectivity",
    "GcsDestinationConfig",
    "GcsProfile",
    "GetConnectionProfileRequest",
    "GetPrivateConnectionRequest",
    "GetRouteRequest",
    "GetStreamObjectRequest",
    "GetStreamRequest",
    "HostAddress",
    "JsonFileFormat",
    "ListConnectionProfilesRequest",
    "ListConnectionProfilesResponse",
    "ListPrivateConnectionsRequest",
    "ListPrivateConnectionsResponse",
    "ListRoutesRequest",
    "ListRoutesResponse",
    "ListStreamObjectsRequest",
    "ListStreamObjectsResponse",
    "ListStreamsRequest",
    "ListStreamsResponse",
    "LookupStreamObjectRequest",
    "MongodbCluster",
    "MongodbCollection",
    "MongodbDatabase",
    "MongodbField",
    "MongodbProfile",
    "MongodbSourceConfig",
    "MongodbSslConfig",
    "MysqlColumn",
    "MysqlDatabase",
    "MysqlGtidPosition",
    "MysqlLogPosition",
    "MysqlProfile",
    "MysqlRdbms",
    "MysqlSourceConfig",
    "MysqlSslConfig",
    "MysqlTable",
    "OperationMetadata",
    "OracleAsmConfig",
    "OracleColumn",
    "OracleProfile",
    "OracleRdbms",
    "OracleSchema",
    "OracleScnPosition",
    "OracleSourceConfig",
    "OracleSslConfig",
    "OracleTable",
    "PostgresqlColumn",
    "PostgresqlProfile",
    "PostgresqlRdbms",
    "PostgresqlSchema",
    "PostgresqlSourceConfig",
    "PostgresqlSslConfig",
    "PostgresqlTable",
    "PrivateConnection",
    "PrivateConnectivity",
    "PscInterfaceConfig",
    "Route",
    "RunStreamRequest",
    "SalesforceField",
    "SalesforceObject",
    "SalesforceOrg",
    "SalesforceProfile",
    "SalesforceSourceConfig",
    "SourceConfig",
    "SourceObjectIdentifier",
    "SqlServerChangeTables",
    "SqlServerColumn",
    "SqlServerLsnPosition",
    "SqlServerProfile",
    "SqlServerRdbms",
    "SqlServerSchema",
    "SqlServerSourceConfig",
    "SqlServerTable",
    "SqlServerTransactionLogs",
    "SrvConnectionFormat",
    "StandardConnectionFormat",
    "StartBackfillJobRequest",
    "StartBackfillJobResponse",
    "StaticServiceIpConnectivity",
    "StopBackfillJobRequest",
    "StopBackfillJobResponse",
    "Stream",
    "StreamObject",
    "UpdateConnectionProfileRequest",
    "UpdateStreamRequest",
    "Validation",
    "ValidationMessage",
    "ValidationResult",
    "VpcPeeringConfig",
)
